<%@page import="oracle.sql.CLOB"%>
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
	trimDirectiveWhitespaces="true"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<jsp:useBean id="mdao" class="jech913.dao.MemberDAO" />
<c:set var="mvo" value="${mdao.showMember(sessionScope.userid)}" />

<!-- sql문 등록 -->
<!-- update,delete는 sql:update로~ -->
<!-- 조회수 증가 sql -->
<sql:update dataSource="jdbc/oracle11xe">
	update BOARD
	set reads=reads+1
	where bdno=?
	<sql:param value="${param.bdno}" />
</sql:update>
<!-- 글번호에 따른 글 불러오는 sql -->
<sql:query var="rs" dataSource="jdbc/oracle11xe">
	select *
	from BOARD
	where bdno = ?
	<sql:param value="${param.bdno}" />
</sql:query>

<%--sessionScope.userid: loginok.jsp에서 session객체로 생성한 변수 --%>
<%--rs.rows[0].userid: 상단의 sql:query태그를 실행하고 rs에 결과를 저장함
	rs에서 세부항목을 조회하려면 배열형태로 접근함.즉, rs.rows[행 위치값].필드이름으로 각각의 값을 읽을 수 있음.--%>
-

<%-- <c:forEach var="r" items="${rs.rows}"> --%>
	<c:if test="${not empty sessionScope.login and sessionScope.userid eq rs.rows[0].userid}">
		<c:set var="loginResult">
			<button type="button" id="updateBtn">수정하기</button>
			<button type="button" id="delBtn">삭제하기</button>
		</c:set>
	</c:if>
<%-- </c:forEach> --%>



<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>:: JSP 프로젝트 v1 ::</title>
<link href="css/normalize" rel="stylesheet">
<style type="text/css">

/*1. 레이아웃 지정(구역 header, contents, footer 세 영역으로 나눈 후 각각 영역의 사이즈 지정)*/
/*태그선택자*/
/*화면 전체 레이아웃 설정 */
body {
	width: 970px;
	/* 블럭요소 일 때만 가운데정렬 됨*/
	margin: 0 auto;

	/* 	border: 1px solid red; */
}
/* 1. 스타일 초기 설정(공통 스타일) */
body {
	font-family: "나눔바른고딕";
}

ul {
	list-style-type: none;
}

/*1-1. 링크설정 */
a:link {
	color: black;
	text-decoration: none;
}
/*1-1-1.클릭한 링크 설정*/
a:visited {
	color: black;
	text-decoration: none;
}
/*1-1-2.롤 오버 링크 설정*/
a:hover {
	color: red;
	text-decoration: underline;
}
/*1-1-3.클릭 중 링크 설정 */
a:active {
	text-decoration: underline;
}
/* 1-2.수평선 태그 설정*/
.hr {
	border: 1px solid black;
	/*float속성제거*/
	clear: both;
}
/* 1-3.이미지 설정*/
/*이미지콘텐츠영역 클래스 이름: centerme, 가운데 정렬*/
.centerme {
	margin: 0 auto;
	display: block;
}
/*1-4. 저작권 정렬 */
.copy {
	text-align: center;
	margin: 15px 0;
}

/* 2. 컨텐츠 영역 지정 */
header {
	/*일반적인 사이트 120~ 150*/
	height: 125px;
	/* border: 1px solid blue; */
}

#contents {
	/*내용이 있던 없던 최소 사이즈 지정 */
	min-height: 550px;
}

footer {
	height: 100px;
	/* border: 1px solid gold; */
}

/* 3. 상단 메뉴 영역*/
#nav {
	padding-bottom: 10px;
}

#nav li {
	/* 배치 방향 변경 */
	float: left;
	/* li에 바깥여백 지정*/
	margin-left: 100px;
}
/*메인이미지 정렬*/
/*margin:100px를 주게 되면 위에도 100px 밑에도 100px 생기기 때문에 안쪽 여백 사용해서 위치 조정*/
.mainlogo {
	padding-top: 120px;
}
</style>
<style type="text/css">
#view {
	width: 700px;
	margin: 0 auto;
}

#view label {
	width: 120px;
	text-align: right;
	font-weight: bold;
	display: inline-block;
	padding: 0 10px 0 0;
}

#view div {
	margin: 10px 10px;
}
/*span이 inline요소이기 때문에 너비와 높이를 임의로 줄 수 없으니까 */
.contents {
	width: 500px;
	height: 275px;
	display: inline-block;
	border: 1px solid gray;
	/* margin: -30px 0 0 130px;*/
}

.dragup {
	vertical-align: top;
}

.button {
	text-align: center;
}
</style>
</head>
<body>
	<!--  공통된 상단 영역과 하단 영역 jsp파일을 만든 후 그 파일을 불러옴. -->
	<!-- 상단 영역(header) 시작-->
	<%--정적포함: jsp를 서블릿으로 컴파일하기 전에 먼저 include될 파일의 소스를 현재 문서에 삽입 --%>
	<%--그런 다음 서블릿으로 변환하고 실행 후 결과 출력--%>
	<%@include file="/layout/header.jsp"%>
	<!-- 상단 영역(header) 끝-->

	<div id="contents">
		<h2>게시판 본문글</h2>
		<!-- 본문 출력 시작 -->
		<c:forEach var="r" items="${rs.rows}">

			<!-- ------------------------------ -->
			<!-- oracle의 clob형은 jstl이나 el로 출력 불가 따라서, 자바코드로 clob를 string형으로 변환해야 함. -->
			<%--clob로 저장된 값을 문자로 변환하기 위해 먼저 request영역에 contents라는 객체로 생성 --%>
			<c:set var="contents" scope="request" value="${r.contents}" />
			<!-- CLOB import시킴 -->
			<%
				//c:set으로 선언한 contents변수를 자바코드로 호출한 후 clob형으로 변환함.
					CLOB clob = (CLOB) request.getAttribute("contents");
					//clob로 저장된 값을 지정된 크기만큼 문자혀으로 다시 읽어서 문자형 변수에 저장
					try {

						String tmp = clob.getSubString(1, (int) clob.length());
						//el이나 jstl에 호출할 수 있도록 request영역에 ncontents이름으로 객체 생성
						request.setAttribute("ncontents", tmp);
					} catch (Exception ex) {
					}
			%>
			<!-- ---------------------------- -->
			<div id="view">
				<div>
					<label>제목</label> <span class="hideme">${r.bdtitle}</span>
				</div>
				<div>
					<label>작성자</label> <span class="userid">${r.userid}</span>
				</div>
				<div>
					<label>작성일</label> <span>${r.regdate}</span>
				</div>
				<div>
					<label>조회수</label> <span>${r.reads}</span>
				</div>
				<div>
					<label class="dragup">본문</label> <span class="contents">${ncontents}</span>
				</div>
				<!-- 버튼들 -->
				<div class="button">
					<label></label>
					<button type="button" id="listBtn">목록보기</button>
					${loginResult}
			<!-- 	<button type="button" id="updateBtn">수정하기</button>
				<button type="button" id="delBtn">삭제하기</button> -->
				</div>
			</div>
			<!-- #view -->
		</c:forEach>
		<%--list.jsp?bdno=xxx를 통해 view.jsp로 전파된 bdno를 update.jsp나 delete.jsp로 
			bdno를 전파하기 위해 숨김필드로 작성함 
			이렇게 전파된 bdno는 javascript의 getElementById를 이용해 질의문자열을 생성함--%>
		<input type="hidden" id="bdno" value="${param.bdno}" />
	</div>
	<!-- #contents -->


	<!-- 하단 영역(footer) 시작 -->
	<%@include file="/layout/footer.jsp"%>
	<!-- 하단 영역(footer) 끝 -->

	<script src="js/jquery-1.11.1.min.js"></script>
	<script src="js/jech913.js"></script>
</body>
</html>